1. Field
The present invention relates to techniques for enhancing the reliability of computer systems. More specifically, the present invention relates to a method and an apparatus for accurately synchronizing signals related to the operation of a computer system.
2. Related Art
Computer manufacturers often desire to characterize the operation of computer systems by measuring the relationship between various operational and performance parameters, including power usage, operating temperature, and CPU utilization. For example, it is often desirable to produce power-versus-utilization graphs for computer servers.
Typically, the variables of interest, such as power, CPU utilization, and throughput, are collected using data acquisition devices that can have different sampling rates, and different clocks which are not synchronized. For example, CPU power is often measured with an external hardware power meter coupled to the system of interest. Separately, the CPU utilization data can be obtained from the operating system, and the physical sensor data (such as CPU temperature) is collected by another external data acquisition (DAQ) unit.
Typically, the external power meter, the operating system, and the external DAQ unit operate using different clocks which are not synchronized. Some of these clocks can “speed up” or “slow down” as workload varies on the processor, thereby making synchronization of the different clocks extremely difficult. Furthermore, the sampling rates of these devices may not be the same; for example, power may be measured every minute while CPU utilization may be measured every 10 seconds.
Consequently, the time-domain signals of the system variables gathered by these data acquisition devices may exhibit lead or lag phase discrepancies between gathered signals. This lack of phase coherence between gathered signals makes it difficult to accurately analyze relationships between these signals, for example, to generate an accurate power-versus-utilization graph for a computer system.
Hence, what is needed is a method and apparatus for accurately synchronizing time-domain signals related to the operation of a computer system without the above-described problems.